/*
 * Empleado.h
 *
 *  Created on: Nov 8, 2012
 *      Author: Carlos Alegría
 */

#ifndef EMPLEADO_H_
#define EMPLEADO_H_

#include "Persona.h"
#include <string>
#include <iostream>

using namespace std;

namespace poo
{

  class Empleado : public virtual Persona
  {

    friend ostream &
    operator<<(ostream &, const Empleado *);

  public:
    Empleado(const string &nombreCompleto, const string &direccion, int edad,
        const string &rfc, const string &empresa);

    virtual
    ~Empleado();

    inline const string&
    getEmpresa() const
    {
      return empresa;
    }

    inline void
    setEmpresa(const string& empresa)
    {
      if (!empresa.empty())
        {
          this->empresa = empresa;
        }
    }

    const string&
    getRfc() const
    {
      return rfc;
    }

    void
    setRfc(const string& rfc)
    {
      if (!rfc.empty())
        {
          this->rfc = rfc;
        }
    }

  private:
    string rfc;
    string empresa;
  };

} /* namespace poo */
#endif /* EMPLEADO_H_ */
